Is assignment with let not against the idea of functional programming in Clojure